1,576 research outputs found

    Renewable energy sources offering flexibility through electricity markets

    Get PDF

    Peer-to-peer and community-based markets: A comprehensive review

    Full text link
    The advent of more proactive consumers, the so-called "prosumers", with production and storage capabilities, is empowering the consumers and bringing new opportunities and challenges to the operation of power systems in a market environment. Recently, a novel proposal for the design and operation of electricity markets has emerged: these so-called peer-to-peer (P2P) electricity markets conceptually allow the prosumers to directly share their electrical energy and investment. Such P2P markets rely on a consumer-centric and bottom-up perspective by giving the opportunity to consumers to freely choose the way they are to source their electric energy. A community can also be formed by prosumers who want to collaborate, or in terms of operational energy management. This paper contributes with an overview of these new P2P markets that starts with the motivation, challenges, market designs moving to the potential future developments in this field, providing recommendations while considering a test-case

    Handle with Care and Confidence – Extending Cameleer with Algebraic Effects and Effect Handlers. An analysis of algebraic effects and techniques to deductively verify them

    Get PDF
    The new major release of the OCaml compiler is set to be an important landmark in the history and ecosystem of the language. The 5.0 version introduces Multicore OCaml, a multi-threaded implementation of the OCaml runtime. Two new important paradigms shall arise in the language: parallelism via domains and direct-style concurrency via algebraic effects and handlers. In this work, we focus precisely on the latter and try to answer the following research question: "what tools and principles must be developed in order to apply automated deductive proofs to OCaml programs featuring effects and handlers?". Algebraic effects and handlers are a powerful abstraction to build non-local control-flow mechanisms such as resumable exceptions, lightweight threads, co-routines, generators, and asynchronous I/O. All of such features have very evolved semantics, hence they pose very interesting challenges to deductive verification techniques. In fact, there are very few proposed techniques to deductively verify programs featuring these constructs, even fewer when it comes to automated proofs. In this report, we outline some of the currently available techniques for the verification of programs with algebraic effects. We then build off them to create a mostly automated verification framework by extending Cameleer, a tool which verifies OCaml code using GOSPEL and Why3. This framework embeds the behavior of effects and handlers using exceptions and defunctionalized functions.A próxima iteração do compilador OCaml será histórica no que diz respeito ao ecosistema da linguagem. A versão 5.0 introduzirá Multicore OCaml, uma implementação multi- threaded do runtime OCaml. Nesta versão, dois paradigmas serão adicionados: paralelismo utilizando domains e concorrência em estilo direto na forma de efeitos algébricos e handlers. Neste relatório, focar-nos-emos no segundo ponto, tentado responder à seguinte questão: "que ferramentas e princípios deveremos desenvolver de modo a applicar provas dedutivas automáticas a programas com efeitos e handlers?". Efeitos algébricos e handlers são uma abstrações poderosas que nos permite construir mecanismos para controlar o curso de um programa como, por exemplo, exceções que nos permitem recomeçar a computação, threads lightwheight, corotinas, geradores e I/O asíncrono. Todos estes paradigmas são um grande desafio no contexto de verificação dedutiva pois têm semanticas bastante complexas. Neste relatório iremos abordar algumas das técnicas existentes para provar programas com efeitos algébricos. Ademais, propomos uma estratégia de verificação para provar automáticamente programas com handlers. Para este efeito, extendemos a ferramenta Cameleer, um verificador de código OCaml que utiliza a linguagem de especificação GOSPEL e o prover Why3. Esta extensão visa aproximar o comportamento de handlers utilizando exceções e funções desfuncionalizadas

    Desenvolvimento de um índice de complexidade para gestão de projectos no Downstream do Oil & Gás : uma aplicação do Macbeth

    Get PDF
    Mestrado em Gestão de ProjetosTendo em vista a criação de um framework para a definição de um índice de complexidade para projetos no setor do Oil & Gas, foi selecionado da Literatura o modelo TOE (Technical-Organizational-Environmental) de Bosch-Rekveldt (2011), desenvolvido para a indústria de Processo. Este framework considera cerca de 50 elementos de complexidade, o que é um número elevado para uma ferramenta que se pretende expedita. O framework TOE foi submetido à avaliação de um painel de especialistas portugueses, através de uma técnica Delphi, para estes selecionarem os elementos mais relevantes, construindo-se um modelo reduzido. Tendo por base esse modelo reduzido e recorrendo à ferramenta MCDA MACBETH foi criada a árvore de valor do índice global de complexidade e sub-índices T-O-E. Em conferências de decisão foram definidos os descritores de impacto relevantes para cada elemento de complexidade e determinadas as escalas dos respetivos níveis de performance, mediante avaliação das suas diferenças de atratividade. O software M-MACBETH calculou os pesos de cada elemento, ficando assim definida a ferramenta/framework pretendidos. A explicitação dos sub-índices de complexidade T-O-E enriquece o modelo, acrescentando outras dimensões ao índice global e permite traçar o perfil do projeto. Essa abordagem ajuda a, por um lado, detetar nas fases iniciais os principais fatores de preocupação de um projeto, e por outro, torna mais fácil ao decisor alocar a cada projeto os gestores/equipas com as competências adequadas. A ferramenta criada foi testada em três projetos do Oil & Gas, tendo explicitado e confirmado a perceção (subjetiva) existente quanto à complexidade dos mesmos.In order to create a framework that determines the complexity index of projects in the Oil & Gas sector, the TOE (Technical-Organizational-Environmental) model, developed by Bosch-Rekveldt (2011) for the Process industry, was selected from the literature. This framework considers 50 elements of complexity, which is a large number for a tool that is aimed to be simple. The TOE framework was submitted to the evaluation of a panel of Portuguese experts, using the Delphi technique, in order to select its most relevant elements and to define a reduced model. Based on this reduced model and using the MCDA tool MACBETH the value tree of the global index and subindexes T-O-E of complexity were created. In decision conferences, the relevant impact descriptors were defined for each element of complexity and the scales of the levels of performance were determined, by evaluating their attractiveness differences. The M-MACBETH software calculated the weights of each element, thus defining the desired framework. The specification of the sub-indices T-O-E enriches the model by adding other dimensions to the overall index and allowing the project profile to be defined. This approach helps, on the one hand, to detect in the early stages the main factors of concern of the project, and on the other, it makes it easier for the decision maker to allocate the managers / teams with the appropriate skills to each project. The tool created was tested in three Oil & Gas projects, having quantified and confirmed the existent perception regarding their complexity.info:eu-repo/semantics/publishedVersio

    Programming multicores safely : handling barrier deadlocks

    Get PDF
    Tese de doutoramento, Informática (Ciências da Computação), Universidade de Lisboa, Faculdade de Ciências, 2015Nowadays, most produced computing devices include multicore processors. Applications that run on these devices only scale if they can compute in parallel. To this end, mainstream programming languages, like Java and C♯, adopted various parallel programming techniqffes. his thesis focffses on a parallel technique, called barrier, used for synchronisation. A barrier coordinates the execution order of parallel activities, by letting them wait for each other. Tasks using barriers are susceptible to the problem of deadlocks, where at least two activities are (indirectly) in a stalemate because of a conflicting ordering of some barriers. Deadlocks are a class of concurrency failures with a big impact in parallel programs. To help make parallel programming more productive, we propose two complementary techniques that handle deadlocks caused by barriers: a runtime verification tool, and a deadlock-free programming model. We present Armus, a runtime verification tool specialised in barrier deadlocks that is distributed, fault-tolerant, and verifies X10 and Java programs. Our technique verifies more barrier synchronisation patterns than existing state-of-the-art techniques. We improve deadlock verification based on graph analysis: our technique selects from two alternative graph representations of concurrency dependencies to hasten deadlock checking. Armus is evaluated with three benchmark suites in local and distributed scenarios. To handle barrier deadlocks at design time we propose a language called SBrenner that extends and formalises a programming model that originates from the Habanero-Java and the X10 languages. The outcome is a deadlock-free programming model that leverages pipeline parallelism. We present an operational semantics and a type system for SBrenner. Offr type system enjoys the properties of progress and subject reduction.Actualmente, a generalidade dos dispositivos de computação inclui um processador multicore. As aplicações que correm em processadores muIticore só aumentam o seu desempenho se computarem em paralelo, aproveitando assim o poder computacional dos núcleos disponíveis. Para este efeito, as linguagens de programação mais populares, tal como Java e C♯, adoptaram, nos últimos anos, várias técnicas de programação paralela. Esta tese lida com uma classe de falhas que origina da utilização de uma técnica de programação paralela, chamada barreira, cuja funcionalidade é a de sincronizar grupos de tarefas. Uma barreira coordena a ordem de execução de um grupo de tarefas, disponibilizando um ponto de execução em que as várias tarefas dum grupo podem esperar umas pelas outras. As tarefas que usam barreiras são vulneráveis ao problema de impasse, em que pelo menos duas tarefas estão (indirectamente) à espera uma da outra em barreiras diferentes sem que qualquer uma das tarefas possa avançar. Os impasses constituem uma classe de falhas, da área de concorrência, com grande impacto em programas paralelos. O nosso objectivo é aumentar a produtividade da programação paralela tratando do problema de impasses em barreiras. Nesta tese propomos duas técnicas complementares para lidar com o problema de impasses: uma ferramenta de verificação especializada em impasses sobre barreiras que é distribuída, tolerante a falhas e verifica aplicações X10 e Java; um modelo de programação isento de impasses

    1D Fiber-shaped supercapacitors

    Get PDF
    Nowadays, exponential technological advances, allied with contemporary mass globalization, drove humankind to a whole new world of possibilities and specialized solutions, able to answer our daily challenges of all life aspects. An example of these new technological solutions is the emerging intelligent textiles, best known as wearables or e-clothes, capable of enhancing daily garments, by adding new revolutionary functionalities. In this work, it will be presented three new configurations of energy storage devices (supercapacitors) based on already studied textile materials [1], especially suitable for wearable electronics applications. The presented configurations, namely, the braid-like, the woven, and the mesh-like configuration, have commercial carbon threads as electrodes and share a simulated sweat solution electrolyte since these devices were designed to work with user sweat. For the separation layer, electrospun cellulose acetate nanofibers were used in the braid-like and the mesh-like configurations, and a hydrophilic felt for the woven one. Moreover, electrode functionalization with polypyrrole (PPy) was carried out, showing considerable results in the device performance enhancement. Regarding the electrical study, cyclic voltammetry and cyclic charge-discharge experiments were the primary characterization technics. Additionally, washability and cyclic charge-discharge endurance (for 1000 cycles) were addressed for the two most successful configuration (the brain-like and internally woven configurations). The electrical characterization showed promising results, estimating 0.62 F.g-1 for the most successful device (replica 3 from internally woven configuration) and one order of magnitude enhancement with electrodes functionalization step. Moreover, the washability study proven the supercapacitors (the brain-like and internally woven configurations) ability to maintain most of its electrical performance after 5 washing cycles, with special highlights for the internally woven configuration that maintain more than 80% of its initial specific capacitance for both studied replicas. Additionally, electrodes PPy functionalization’s quality and assembling processes proven to be the key points for devices success.Nos dias que correm, os avanços tecnológicos exponenciais, aliados à atual globalização em massa, conduziram a humanidade a um novo mundo de possibilidades e soluções especializadas, capazes de responder aos nossos desafios diários em todos os aspetos da vida. Um exemplo das referidas novas soluções tecnológicas são os emergentes têxteis inteligentes, mais conhecidos como wearables ou e-clothes, capazes de valorizar a indumentaria diária, adicionando-lhe novas funcionalidades revolucionárias. Neste trabalho, serão apresentadas 3 novas configurações de dispositivos de armazenamento de energia (supercondensadores). Estas baseiam-se em materiais têxteis já estudados [1], especialmente adequados para aplicações em eletrónica vestível. As 3 configurações, apresentadas neste trabalho, são respetivamente a configuração tipo trança, a tecida e a configuração tipo grade. Todas elas utilizam fios de carbono comerciais como elétrodo e partilham o mesmo eletrólito, baseado numa solução de suor simulado [2], uma vez que estes dispositivos foram projetados para trabalhar com o suor do utilizador. Relativamente á camada separadora, para as configurações em forma de trança e tipo grade, esta foi alcançada por electrofiação de nano fibras de acetato de celulose. Já para a configuração tecida, foi utilizado um pedaço de tecido de feltro hidrofílico para o mesmo fim. Posteriormente, para as configurações mais bem-sucedidas (configuração tipo trança e internamente tecida), foi realizada a funcionalização dos elétrodos utilizando polipirrol (PPy). Relativamente ao estudo do comportamento elétrico, as técnicas de voltametria cíclica e carga-descarga cíclica foram as principais técnicas de caracterização utilizadas. Adicionalmente, a capacidade de lavagem e a resistência à carga-descarga cíclica (para 1000 ciclos) foram testadas para as duas configurações de maior sucesso. A caracterização elétrica apresentou resultados promissores, estimando 0,62 F.g-1 para o melhor dispositivo e demonstrando um aumento de uma ordem de grandeza, na capacitância especifica, com a funcionalização dos elétrodos. Aliado a este resultado, o estudo de lavagens dos dispositivos demonstrou a capacidade dos mesmos para reter grande parte da sua capacitância especifica, ao fim de 5 ciclos de lavagem. Em destaque ficou a configuração internamente tecida, que manteve mais de 80% da sua capacitância especifica original, ao fim dos 5 ciclos de lavagem. Finalmente, a qualidade da funcionalização dos elétrodos com PPy e o processo de montagem dos dispositivos, revelaram-se os principais fatores para o sucesso dos mesmos

    Automatic question generation about introductory programming code

    Get PDF
    Many students who learn to program end up writing code they do not understand. Most of the available code evaluation systems evaluate the submitted solution functionally and not the knowledge of the person who submitted it. This dissertation proposes a system that generates questions about the code submitted by the student, analyses their answers and returns the correct answers. In this way, students reflect about the code they have written and the teachers of the programming courses can better pinpoint their difficulties. We carried out an experiment with undergraduate and master's students in Computer Science degrees in order to understand their difficulties and test the prototype's robustness. We concluded that most students, although understanding simple details of the code they write, do not understand the behaviour of the program entirely, especially with respect to program state. Improvements to the prototype and how to conduct future experiments are also suggested.Muitos alunos que aprendem a programar acabam por escrever código que não entendem. A maior parte dos sistemas de avaliação de código disponíveis avaliam a solução submetida funcionalmente e não o conhecimento da pessoa que o submeteu. Esta dissertação propõe um sistema que gera questões sobre o código submetido pelo aluno, analisa as suas respostas e devolve as respostas corretas. Desta forma, os alunos refletem sobre o código que escreveram e os professores das unidades curriculares de programação conseguem identificar melhor as suas dificuldades. Conduzimos uma experiência com alunos de licenciatura e mestrado em Engenharia Informática e cursos relacionados de forma a perceber quais as suas dificuldades e testar a robustez do protótipo. Concluímos que a maior parte dos alunos, embora entendam detalhes simples do código que escrevem, não entendem o comportamento do programa na sua totalidade e o estado que este possui num determinado momento. São também sugeridas melhorias ao protótipo e à condução de futuras experiências

    Otimização de distribuição de conteúdos multimédia utilizando software-defined networking

    Get PDF
    The general use of Internet access and user equipments, such as smartphones, tablets and personal computers, is creating a new wave of video content consumption. In the past two decades, the Television broadcasting industry went through several evolutions and changes, evolving from analog to digital distribution, standard definition to high definition TV-channels, form the IPTV method of distribution to the latest set of technologies in content distribution, OTT. The IPTV technology introduced features that changed the passive role of the client to an active one, revolutionizing the way users consume TV content. Thus, the clients’ habits started to shape the services offered, leading to an anywhere and anytime offer of video content. OTT video delivery is a reflection of those habits, meeting the users’ desire, introducing several benefits discussed in this work over the previous technologies. However, the OTT type of delivery poses several challenges in terms of scalability and threatens the Telecommunications Operators business model, because OTT companies use the Telcos infrastructure for free. Consequently, Telecommunications Operators must prepare their infrastructure for future demand while offering new services to stay competitive. This dissertation aims to contribute with insights on what infrastructure changes a Telecommunications Operator must perform with a proposed bandwidth forecasting model. The results obtained from the forecast model paved the way to the proposed video content delivery method, which aims to improve users’ perceived Quality-of-Experience while optimizing load balancing decisions. The overall results show an improvement of users’ experience using the proposed method.A generalização do acesso à Internet e equipamentos pessoais como smartphones, tablets e computadores pessoais, está a criar uma nova onda de consumo de conteúdos multimedia. Nas ultimas duas décadas, a indústria de transmissão de Televisão atravessou várias evoluções e alterações, evoluindo da distribuição analógica para a digital, de canais de Televisão de definição padrão para alta definição, do método de distribuição IPTV, até ao último conjunto de tecnologias na distribuição de conteúdos, OTT. A tecnologia IPTV introduziu novas funcionalidades que mudaram o papel passivo do cliente para um papel activo, revolucionando a forma como os utilizadores consumem conteúdos televisivos. Assim, os hábitos dos clientes começaram a moldar os serviços oferecidos, levando à oferta de consumo de conteúdos em qualquer lugar e em qualquer altura. A entrega de vídeo OTT é um reflexo destes hábitos, indo ao encontro dos desejos dos utilizadores, que introduz inúmeras vantagens sobre outras tecnologias discutidas neste trabalho. No entanto, a entrega de conteúdos OTT cria diversos problemas de escalabilidade e ameaça o modelo de negócio das Operadoras de Telecomunicações, porque os fornecedores de serviço OTT usam a infraestrutura das mesmas sem quaisquer custos. Consequentemente, os Operadores de Telecomunicações devem preparar a sua infraestrutura para o consumo futuro ao mesmo tempo que oferecem novos serviços para se manterem competitivos. Esta dissertação visa contribuir com conhecimento sobre quais alterações uma Operadora de Telecomunicações deve executar com o modelo de previsão de largura de banda proposto. Os resultados obtidos abriram caminho para o método de entrega de conteúdos multimedia proposto, que visa ao melhoramento da qualidade de experiência do utilizador ao mesmo tempo que se optimiza o processo de balanceamento de carga. No geral os testes confirmam uma melhoria na qualidade de experiência do utilizador usando o método proposto.Mestrado em Engenharia de Computadores e Telemátic
    corecore